package com.version.plugin

/**
 *     author: wcy
 *     date = 2020/12/10
 *     desc = 如果数量少的话，放在一个类里面就可以，如果数量多的话，可以拆分为多个类
 */

object Versions {
    val retrofit = "2.9.0"
    val appcompat = "1.1.0"
    val coreKtx = "1.3.0"
    val constraintlayout = "1.1.3"
    val paging = "3.0.0-alpha01"
    val timber = "4.7.1"
    val kotlin = "1.3.72"
    val koin = "2.1.5"
    val work = "2.4.0"
    val room = "2.3.0-alpha01"
    val cardview = "1.1.0"
    val recyclerview = "1.1.0"
    val fragment = "1.2.1"
    val anko = "0.10.8"
    var design = "1.1.0"
    val junit = "4.12"
    val junitExt = "1.1.1"
    val espressoCore = "3.2.0"
    val jDatabinding = "1.0.1"
}

object LibVersion {
    var lib_base = "1.1.11"
    var lib_bdmap = "1.0.0"
    var lib_commui = "1.0.0"
    var lib_dex = "1.1.9"
    var lib_imageloader = "1.0.2"
    var lib_jpush = "1.0.3"
    var lib_network = "1.0.14"
    var lib_picture = "1.0.6"
    var lib_qrcode = "1.0.0"
    var lib_refreshlayout = "1.0.1"
    var lib_time = "1.0.7"
    var lib_ucrop = "1.0.1"
    var lib_update = "1.0.10-1"
    var lib_webview = "1.2.2"
    var lib_wxshare = "1.0.1"
    var lib_xpopup = "1.0.0"
    var lib_yj = "1.2.12"
    var lib_tts = "1.0.0"
    var lib_fragmentation = "1.0.1"
    var lib_logcat = "1.0.3-1"
    var lib_aop = "1.0.1"
    var lib_crash = "1.0.0"
    var lib_wxshare_kotlin = "1.0.0"
    var phoenixCompressVideo = "1.0.0"
}

object AndroidX {
    val appcompat = "androidx.appcompat:appcompat:${Versions.appcompat}"
    val coreKtx = "androidx.core:core-ktx:${Versions.coreKtx}"
    val constraintlayout = "androidx.constraintlayout:constraintlayout:${Versions.constraintlayout}"
    val pagingRuntime = "androidx.paging:paging-runtime:${Versions.paging}"

    val workRuntime = "androidx.work:work-runtime:${Versions.work}"
    val workTesting = "androidx.work:work-testing:${Versions.work}"
    val cardview = "androidx.cardview:cardview:${Versions.cardview}"
    val recyclerview = "androidx.recyclerview:recyclerview:${Versions.recyclerview}"
    var design = "com.google.android.material:material:${Versions.design}"
}

object DepsLibs {
    var lib_base = "com.app.lib.android:lib_base:${LibVersion.lib_base}"
    var lib_bdmap = "com.app.lib.android:lib_bdmap:${LibVersion.lib_bdmap}"
    var lib_commui = "com.app.lib.android:lib_commui:${LibVersion.lib_commui}"
    var lib_dex = "com.app.lib.android:lib_dex:${LibVersion.lib_dex}"
    var lib_imageloader = "com.app.lib.android:lib_imageloader:${LibVersion.lib_imageloader}"
    var lib_jpush = "com.app.lib.android:lib_jpush:${LibVersion.lib_jpush}"
    var lib_picture = "com.app.lib.android:lib_picture:${LibVersion.lib_picture}"
    var lib_qrcode = "com.app.lib.android:lib_qrcode:${LibVersion.lib_qrcode}"
    var lib_refreshlayout = "com.app.lib.android:lib_refreshlayout:${LibVersion.lib_refreshlayout}"
    var lib_time = "com.app.lib.android:lib_time:${LibVersion.lib_time}"
    var lib_ucrop = "com.app.lib.android:lib_ucrop:${LibVersion.lib_ucrop}"
    var lib_update = "com.app.lib.android:lib_update:${LibVersion.lib_update}"
    var lib_webview = "com.app.lib.android:lib_webview:${LibVersion.lib_webview}"
    var lib_wxshare = "com.app.lib.android:lib_wxshare:${LibVersion.lib_wxshare}"
    var lib_xpopup = "com.app.lib.android:lib_xpopup:${LibVersion.lib_xpopup}"
    var lib_yj = "com.app.lib.android:lib_yj:${LibVersion.lib_yj}"
    var lib_tts = "com.app.lib.android:lib_tts:${LibVersion.lib_tts}"
    var lib_fragmentation = "com.app.lib.android:lib_fragmentation:${LibVersion.lib_fragmentation}"
    var lib_logcat = "com.app.lib.android:lib_logcat:${LibVersion.lib_logcat}"
    var lib_aop = "com.app.lib.android:lib_aop:${LibVersion.lib_aop}"
    var phoenixCompressVideo =
            "com.app.lib.android:phoenixCompressVideo:${LibVersion.phoenixCompressVideo}"
    var arouterapi = "com.alibaba:arouter-api:1.5.0"
    var aroutercompiler = "com.alibaba:arouter-compiler:1.2.2"


}

object Room {
    val runtime = "androidx.room:room-runtime:${Versions.room}"
    val compiler = "androidx.room:room-compiler:${Versions.room}"
    val ktx = "androidx.room:room-ktx:${Versions.room}"
    val rxjava2 = "androidx.room:room-rxjava2:${Versions.room}"
    val testing = "androidx.room:room-testing:${Versions.room}"
}

object Fragment {
    val runtime = "androidx.fragment:fragment:${Versions.fragment}"
    val runtimeKtx = "androidx.fragment:fragment-ktx:${Versions.fragment}"
    val testing = "androidx.fragment:fragment-testing:${Versions.fragment}"
}

object Kt {
    val stdlibJdk8 = "org.jetbrains.kotlin:kotlin-stdlib-jdk8:${Versions.kotlin}"
    val test = "org.jetbrains.kotlin:kotlin-test-junit:${Versions.kotlin}"
    val plugin = "org.jetbrains.kotlin:kotlin-gradle-plugin:${Versions.kotlin}"

    val core = "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.4"
    val android = "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.4"
}

object Koin {
    val core = "org.koin:koin-core:${Versions.koin}"
    val androidCore = "org.koin:koin-android:${Versions.koin}"
    val viewmodel = "org.koin:koin-androidx-viewmodel:${Versions.koin}"
    val androidScope = "org.koin:koin-android-scope:$${Versions.koin}"
}

object Anko {
    val common = "org.jetbrains.anko:anko-common:${Versions.anko}"
    val sqlite = "org.jetbrains.anko:anko-sqlite:${Versions.anko}"
    val coroutines = "org.jetbrains.anko:anko-coroutines:${Versions.anko}"
    val design = "org.jetbrains.anko:anko-design:${Versions.anko}" // For SnackBars
}

object Retrofit {
    val runtime = "com.squareup.retrofit2:retrofit:${Versions.retrofit}"
    val gson = "com.squareup.retrofit2:converter-gson:${Versions.retrofit}"
    val mock = "com.squareup.retrofit2:retrofit-mock:${Versions.retrofit}"
}


object Dependencies {
    var rxjava = "io.reactivex.rxjava3:rxjava:3.0.4"
    var rxandroid = "io.reactivex.rxjava3:rxandroid:3.0.0"

    /* json https://mvnrepository.com/artifact/com.alibaba/fastjson*/
    var fastjson = "com.alibaba:fastjson:1.1.71.android"

    //权限https://github.com/tbruyelle/RxPermissions
    var rxpermissions = "com.github.tbruyelle:rxpermissions:0.12"

    //图片加载https://github.com/bumptech/glide
    var glide = "com.github.bumptech.glide:glide:4.11.0"
    var glideCompiler = "com.github.bumptech.glide:compiler:4.11.0"

    //https://github.com/JakeWharton/NineOldAndroids
    var nineoldandroids = "com.nineoldandroids:library:2.4.0"

    //https://github.com/chrisbanes/PhotoView
    //photoView         = "com.github.chrisbanes:PhotoView:${depsVersion.photoView}"
    //https://github.com/zyao89/ZLoading
    var zloading = "com.zyao89:zloading:1.0.11"

    //https://github.com/JakeWharton/RxRelay
    var rxrelay = "com.jakewharton.rxrelay2:rxrelay:2.0.0"

    //https://github.com/YoKeyword/Fragmentation
    var fragmentation = "me.yokeyword:fragmentationx:1.0.1"

    //https://github.com/gyf-dev/ImmersionBar
    var immersionbar = "com.gyf.immersionbar:immersionbar:3.0.0"

    //https://github.com/trello/RxLifecycle
    var lifecycleCompiler = "androidx.lifecycle:lifecycle-compiler:2.2.0"
    var lifecycle = "androidx.lifecycle:lifecycle-extensions:2.2.0"

    var rxlifecycle = "com.trello.rxlifecycle3:rxlifecycle-android-lifecycle:3.1.0"
    var multidex = "androidx.multidex:multidex:2.0.1"

    //https://github.com/JavaNoober/BackgroundLibrary
    var background = "com.noober.background:core:1.6.5"

    //https://github.com/JeremyLiao/LiveEventBus
    var liveEventBus = "com.jeremyliao:live-event-bus-x:1.7.2"
    var rxhttp = "com.ljx.rxhttp:rxhttp:2.4.1"
    var rxhttpCompiler = "com.ljx.rxhttp:rxhttp-compiler:2.4.1"
    var rxlifex = "com.ljx.rxlife3:rxlife-rxjava:3.0.0"
    var rxlifexCoroutine = "com.ljx.rxlife:rxlife-coroutine:2.0.1"//管理协程生命周期，页面销毁，关闭请求

    //https://github.com/alibaba/ARouter/blob/master/README_CN.md
    var arouterapi = "com.alibaba:arouter-api:1.5.0"
    var aroutercompiler = "com.alibaba:arouter-compiler:1.2.2"
    var shortcutBadger = "me.leolin:ShortcutBadger:1.1.22@aar"

    var kernel = "com.scwang.smart:refresh-layout-kernel:2.0.1"    //核心必须依赖
    var material = "com.scwang.smart:refresh-header-material:2.0.1"  //谷歌刷新头
    var ball = "com.scwang.smart:refresh-footer-ball:2.0.1"    //球脉冲加载
    var baseRecyclerViewAdapterHelper = "com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.4"

    //debug版本编译日志库 https://github.com/pengwei1024/LogUtils
    var logutils = "com.apkfuns.logutils:library:1.7.5"
}


object Depend {

    val junit = "junit:junit:${Versions.junit}"
    val androidTestJunit = "androidx.test.ext:junit:${Versions.junitExt}"
    val espressoCore = "androidx.test.espresso:espresso-core:${Versions.espressoCore}"
    val jDatabinding = "com.hi-dhl:jdatabinding:${Versions.jDatabinding}"
    val timber = "com.jakewharton.timber:timber:${Versions.timber}"
}

